Scope
A coroutine's scope defines the context in which the coroutine runs.
- A scope combines information about a coroutine's
Job and CoroutineDispatcher
- Scopes keep track of coroutines that are “in them”
actually just a wrapper around a CoroutineContext, can be seen as a "parent context"
ex: GlobalScope, MainScope, viewModelScope, lifeCycleScope